// Copyright 2024 Administrator
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     https://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

import { IsEnum, IsOptional, IsString } from "class-validator";
import { PageDto } from "src/common/dto/page.dto";
import { SearchTypeEnum } from "src/common/enums";
import { AlbumDto } from "../../album/dto/search-album.dto";
import { Artist } from "../../artist/entities/artist.entity";
import { SongDto } from "../../song/dto/search-song.dto";

export class SearchPageDto extends PageDto {
    @IsOptional()
    @IsString({ message: "查询字段为字符串格式" })
    word: string;

    @IsEnum(SearchTypeEnum, { message: "查询类型不正确" })
    type: SearchTypeEnum;
}

export class SearchVo {
    total:number;
    typeAlbum: AlbumDto[];
    typeArtist: Artist[];
    typeTrack: SongDto[]
}